﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using J_FoundationClasses.Operacao;
using J_FoundationClasses.Programacao;

/*
 * A classe aumenta Form com mecanismos para receber e devolveruma instrução
 * 
 * Formolários para processadores específicos herdam do EditForm
 * 
 */

namespace ProcUtils
{
    public class EditForm : Form
    {
        protected readonly IProcessador RefProc;    // fonte referência de todos os detalhes do tipo de processador
        protected Instrucao _instAtual;         // Instrução sendo editado aqui

        public Instrucao InstAtual
        {
            get { return _instAtual; }
        }
        public EditForm(IProcessador prmProc, Instrucao prmInst)
            : base()
        {
            if (prmProc == null) throw new ArgumentNullException("prmProc", "Formulário de instrução não aceita parâmetro null.");
            if (prmInst == null) throw new ArgumentNullException("prmInst", "Formulário de instrução não aceita parâmetro null.");
            RefProc = prmProc;
            _instAtual = prmInst;
            
        }
    }
}
